Fix some packaging logic in path sources
authorAlex Crichton <alex@alexcrichton.com>
Tue, 1 Mar 2016 16:20:16 +0000 (08:20 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Thu, 3 Mar 2016 21:35:46 +0000 (13:35 -0800)
commit9185445ae19e682fdf622f6cab60f0d047eefd45
tree4bee876a7bccbe1ff6ffcaace390fce276680f77
parentf28c7872e66ec55540ae8e86a605a44bf543c084
Fix some packaging logic in path sources

Currently the packaging logic depends on the old recursive nature of path
sources for a few points:

* Discovery of a git repository of a package.
* Filtering out of sibling packages for only including the right set of files.

For a non-recursive path source (now essentially the default) we can no longer
assume that we have a listing of all packages. Subsequently this logic was
tweaked to allow:

* Instead of looking for packages at the root of a repo, we instead look for a
  Cargo.toml at the root of a git repository.
* We keep track of all Cargo.toml files found in a repository and prune out all
  files which appear to be ancestors of that package.
src/cargo/sources/path.rs